package com.gf.user.service;

import com.gf.common.bean.Page;

public interface IdolFanService {

	/**
	 * 用户注册初始化
	 * 
	 * @param userId
	 * @return
	 */
	public void initIdolFan(long userId);

	/**
	 * 增加关注的人<br>
	 * 
	 * @param userId
	 * @param idolId
	 * @return 1成功 | 0 已存在 | -1 失败
	 */
	public int addIdol(long userId, long idolId);

	/**
	 * 增加粉丝
	 * 
	 * @param userId
	 * @param fanId
	 * @return 1成功 | 0 已存在 | -1 失败
	 */
	public int addFan(long userId, long fanId);

	/**
	 * 删除关注的人
	 * 
	 * @param userId
	 * @param idolId
	 * @return 1成功 | 0 不存在 | -1 失败
	 */
	public int deleteIdol(long userId, long idolId);

	/**
	 * 删除粉丝
	 * 
	 * @param userId
	 * @param fanId
	 * @return 1成功 | 0 不存在 | -1 失败
	 */
	public int deleteFan(long userId, long fanId);

	/**
	 * 查询关注
	 * 
	 * @param userId
	 * @param pageSize
	 * @return
	 */
	public Page getIdolByUserId(long userId, int currentPage,int pageSize);

	/**
	 * 查询粉丝
	 * 
	 * @param userId
	 * @param pageSize
	 * @return
	 */
	public Page getFanByUserId(long userId, int currentPage,int pageSize);

	/**
	 * 是否关注
	 * 
	 * @param userId
	 * @param idolId
	 * @return 是 true 否 false
	 */
	public boolean isYourIdol(long userId, long idolId);

	/**
	 * 是否是你的粉丝
	 * 
	 * @param userId
	 * @param fanId
	 * @return 是 true 否 false
	 */
	public boolean isYourFan(long userId, long fanId);
	
	
	/**
	 * 得到关注的数量
	 * @param userId
	 * @return
	 */
	public int getIdolNumber(long userId);
	
	/**
	 * 得到粉丝的数量
	 * @param userId
	 * @return
	 */
	public int getFanNumber(long userId);

}
